package com.zhang.yunfu_his.entity.dbo;

import com.baomidou.mybatisplus.annotation.TableName;
import io.swagger.annotations.ApiModel;
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;

import java.math.BigDecimal;
import java.util.Date;

@AllArgsConstructor
@NoArgsConstructor
@Data
@TableName("inquiry_prescript")
@ApiModel(description = "处方")
public class InquiryPrescriptionDO extends BaseDO {

    /**
     * 医嘱id
     */
    private String doctorAdviceId;

    /**
     * 处方编号
     */
    private String prescriptNo;

    /**
     * 开方时间
     */
    private Date issuingTime;

    /**
     * 处方类型。1：西药。2：中药
     */
    private Integer prescriptType;

    /**
     * 处方状态。枚举。1：待审核，2：已审核，3：已驳回，4：待签名 5:驳回次数达到上限  6:已失效
     */
    private String prescriptStatus;

    /**
     * 审核时间
     */
    private Date reviewTime;
    /**
     * 审核医生id
     */
    private String reviewDoctorId;
    /**
     * 审核医生姓名
     */
    private String reviewDoctorName;
    private String doctorSignUrl;
    private String reviewDoctorSignUrl;

    /**
     * 医生签名订单流水id
     */
    private String urId;

    /**
     * 药师签名订单流水id
     */
    private String reUrId;

    /**
     * 医生签名订单对应的医信网唯一id
     */
    private String uniqueId;

    /**
     * 药师签名订单对应的医信网唯一id
     */
    private String reUniqueId;

    private BigDecimal amount;

    /**
     * 是否设为新增订单0-新增;1-编辑
     */
    private String prescriptionType;

    /**
     * 医生最后一次编辑时间
     */
    private Date doctorTime;

    /**
     * 合理用药是否通过,0:否1:是
     */
    private String isReasonable;

    /**
     * 处方图片
     */
    private String rxPic;

    private Integer signTimes;

    /**
     * 发药状态:1：待发药，2：已发药，3：已退费
     */
    private String dispenseStatus;

    /**
     * hMac值
     */
    private String hMac;

    /* 新增：不可否认性(prescriptNo + getIssuingTime + getPrescriptionType + getPrescriptStatus + getAmount) 签名字段 */
    /**
     * P7签名（Base64编码）
     */
    private String p7Signature;

    /**
     * 时间戳令牌（Base64编码）
     */
    private String timestampToken;

    /**
     * SM3哈希值（Base64编码）
     */
    private String sm3Hash;

    /**
     * 不可否认性状态标识 0：未做可否认性，1：已做不可否认性（做了就是默认这个） -1：不可否认性验证失败or异常
     */
    private Integer noRevocationStatus =0;

}
